Method and apparatus for intersystem cut/copy and paste

ABSTRACT

An apparatus in accordance with the invention includes a switch-box, where the switch-box includes a memory buffer to which information is copied from a computing system selected via the switch-box from two or more computing systems coupled with the switch-box as a result of a first substantially predetermined event.

BACKGROUND

[0001] 1. Field

[0002] This disclosure relates to transferring information between twoor more computing systems and, more particularly, to a method andapparatus for “copying”, “cutting” and “pasting” information betweensuch systems.

[0003] 2. Background Information

[0004] Professionals working in various industries, such as thecomputing and computer networking industries, for example, may employmultiple computing systems in their day-to-day work. The reasons foremploying a number of different computing systems may vary based on theparticular situation. In this regard, one common practice that may saveboth cost and office space is to use a single set of interface deviceswith at least some of the various computing systems that may be employedby a specific user. Interface devices, in this context, may include, butare not limited to keyboards, computer pointing devices, such as mice,and display monitors.

[0005] In such situations, an apparatus, such as a “switch-box” may beemployed to allow such computing systems to “share” these interfacedevices. Such switch-boxes are well-known. In such a scheme, a user, byemploying such a “switch-box”, may couple such interface devices withone computing system to be used at a particular time via the“switch-box.” The user may then couple the interface devices to adifferent computing system by employing the “switch-box” to, forexample, perform a different task.

[0006] Alternatively, a user may need to employ multiple systems inhis/her work that may be in physically separate locations where a“switch-box” technique may not be practical. For example, one computingsystem may be in the user's office while another computing system mightbe located in a development lab.

[0007] In the above situations, it is desirable at times to copy ortransfer information, such as electronic information, between suchcomputing systems. Current methods of performing such copying ortransferring include employing a temporary file on a common computingnetwork, such as on a network file server, with which such computingsystems may be coupled, or, alternatively, using a removable storagemedium, such as a floppy diskette, when a common network is not employedor available. Such techniques are typically time consuming orinconvenient. Therefore, alternative techniques for performing suchtransfers of information are desirable.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The subject matter regarded as the invention is particularlypointed out and distinctly claimed in the concluding portion of thespecification. The invention, however, both as to organization andmethod of operation, together with features and advantages thereof, maybest be understood by reference to the following detailed descriptionwhen read with the accompanying drawings in which:

[0009]FIG. 1 is a block diagram of a prior art scheme for utilizingmultiple computing systems.

[0010]FIG. 2 is a block diagram of an intersystem cut/copy and pastescheme in accordance with the invention.

[0011]FIG. 3 is a block diagram of an embodiment of a computer networkthat may be employed with embodiments in accordance with the invention,such as the embodiment illustrated in FIG. 4.

[0012]FIG. 4 is a flow diagram of a method for performing an intersystemcut/copy and paste in accordance with the invention.

DETAILED DESCRIPTION

[0013] In the following detailed description, numerous specific detailsare set forth in order to provide a thorough understanding of theinvention. However, it will be understood that the present invention maybe practiced without these specific details. In other instances,well-known methods, procedures, components and circuits have not beendescribed in detail, so as not to obscure the present invention.

[0014] As was indicated above, it may be desirable to employ a singleset of interface devices with multiple computing systems. In thiscontext, interface devices may include, but are not limited to computerkeyboards, computer pointing devices and display monitors. A currentapproach for implementing such a configuration is illustrated in priorart FIG. 1.

[0015]FIG. 1 is a block diagram illustrating a scheme for sharing asingle set of interface devices between multiple computing systems, inthis case, three such computing systems. In this particularimplementation, the set of interface devices, which comprises pointingdevice 140, display monitor 150 and keyboard 160 (hereafter “interfacedevices”), are coupled with conventional switch-box 100. Such interfacedevices are well-known, and are typically compatible with variouscomputing systems. Conventional switch-box 100 is further coupled withSystem A 110, System B 120 and System C 130. These systems would, forthis particular implementation, typically be coupled with conventionalswitch-box 100 via substantially similar techniques as are used tocouple the set of interface devices with conventional switch-box 100.

[0016] In such implementations, conventional switch-box 100 wouldtypically comprise a selection switch to allow the set of interfacedevices to be coupled, at substantially individual times, with any ofthe three computing systems via conventional switch-box 100. Suchselection switches are well-known and the specific switch employed maydepend, at least in part, on the particular situation in which such animplementation is employed.

[0017] At times, as was indicated above, it may be desirable to copycertain information from one system to another, such as, for example,without limitation, “copying ” an Internet Uniform Resource Locater(URL) from System A 110 to System C 130. In configurations such as theone illustrated in FIG. 1, such a copy operation would typically beaccomplished by employing a common computer network, such as network170. Such a technique would typically involve copying the desiredinformation to a standard cut-and-paste buffer included in, for example,an operating system that may be employed on System A 110. The use ofsuch cut-and-paste buffers for “copying”, “cutting” and “pasting”information between applications and/or files running and/or includedwithin a single computing system are well-known. Copying and/or cuttinginformation to, and pasting information from such a cut-and-paste buffermay be accomplished by using substantially predetermined keystrokesequences or combinations, though such techniques are not so limited. Itis noted that for purposes of this disclosure, the terms “cut” and“copy” are used interchangeably and use of either of these terms isintended to embody both concepts of “cutting” and “copying” informationin such embodiments.

[0018] However, in this scenario, where it is desired to copyinformation from one system and paste it to another, the interfacedevices would initially be coupled with System A 110 via conventionalswitch-box 100. A temporary file would then typically be created onnetwork 170 and opened, for example, by a user carrying out such a copyoperation. In this regard, network 170 may comprise a network fileserver on which such temporary files may be created and stored.Information, which may be cut or copied into the operating-systemcut-and-paste buffer, in this case the URL, would then typically be“pasted” into this temporary file, and that file may then be saved andclosed. The user may then couple the interface devices with System C 130via conventional switch-box 100 by “toggling” the selection switchincluded in such a switch-box. The user would then access and open thetemporary file, “copy” or “cut” the information copied from System A 110into a standard cut-and-paste buffer included in, for example, anoperating system of System C 130. The information may then, subsequentlybe “pasted” in to a desired application, such as an Internet browserapplication in this specific case of copying and pasting a URL.Alternatively, for example, a temporary file may be created on aremovable storage medium, such as a floppy diskette, and the desiredinformation transferred via this file. Techniques such as the foregoing,however, may be time consuming and inconvenient. Therefore, alternativetechniques for “copying”, “cutting” and “pasting” information betweenmultiple computing systems are desirable.

[0019]FIG. 2 is a block diagram illustrating an embodiment in accordancewith the invention that may address at least some of the foregoingdisadvantages associated with current techniques. While the inventionis, of course, not limited to any specific embodiment, in thisparticular embodiment, switch-box 200 may allow a user to copyinformation from one system to another, such as from System1 210 toSystem2 220 without employing a temporary file, a computer network, or aremovable storage media. In this regard switch-box 200 comprises control270 and a memory buffer 280. While the invention is not so limited, forthis embodiment, control 270 of switch-box 200 may be employed torecognize a substantially predetermined event, or events that mayindicate a user's intent to “copy” or “cut” information from a selectedone of computing systems; System1 210, System2 220 or SystemN 230 tomemory buffer 270. For such embodiments, control 270 may also beemployed to recognize another substantially predetermined event, orevents, that may indicate a user's intent to “paste” information frommemory buffer 280 to one of the computing systems.

[0020] For this embodiment, the substantially predetermined eventsemployed to indicate that a user desires to “copy”, “cut” or pasteinformation by employing memory buffer 280 may comprise certainsubstantially predetermined, substantially predefined keystrokesequences or combinations, though the invention is not limited in thisrespect, and alternatives, such as, for example, pointer devicesequences or voice commands may exist. Such operations carried outwithin a single platform are well-known. For example, certain computingsystems may copy information selected by a user to a standardcut-and-paste buffer included in an operating system for such a systemas a result of a user depressing specific keystroke combinations. Forexample, depressing, on a standard keyboard, the “Ctrl” key and the “c”key simultaneously may result in such selected information being“copied” to such a cut-and-paste buffer. A “cut” to, or a “paste” from astandard cut-and-past buffer may likewise be accomplished by employingalternative key combinations.

[0021] For switch-box 200, control 270 may be employed to recognize suchkey sequences and perform such cut/copy and paste operations employingmemory buffer 280 as a result of the occurrence of such keystrokecombinations. However, employing substantially identical keystrokecombinations for such operations within a single computing system and byemploying switch-box 200 may create undesired results. For example, werea user to indicate that a paste is desired by, for example, depressingthe “Ctrl” key and the “v” key simultaneously on one of the computingsystems, a conflict may occur if information has been cut or copied toboth memory buffer 280 and a standard cut-and-paste buffer for thatsystem. Therefore, it may be desirable to employ substantially dedicatedkeystroke sequences for performing such operations utilizing memorybuffer 280, for this embodiment.

[0022] In this regard, of course depending on the particular embodiment,a user may indicate that it is desired to copy selected information tomemory buffer 280 by depressing and releasing the “Ctrl” key and then,within a substantially predetermined time, depressing and releasing the“c” key. In this regard, control 270 may comprise a timer or counter todetermine the time elapsed between keystrokes. If the substantiallypredetermined keystroke sequence is recognized and the time elapsedbetween the keystrokes is within the substantially predetermined timelimit, control 270 may indicate to memory buffer 280, and the computingsystem from which information is to be to be copied, to copy suchselected information to memory buffer 280. Similar alternativesubstantially predetermined, substantially time limited keystrokesequences may be employed to indicate that cutting information to, orpasting information from memory buffer 280 is desired. Varioustechniques for recognizing such time-limited keystroke sequences existand the invention is not limited in scope to any particular technique.As one example, a micro-controller may be employed to recognize suchkeystroke sequences, calculate the time elapsed between keystrokes andprovide an indication that a substantially predetermined time-limitedkeystroke sequence indicating a cut, paste or copy operation is to beperformed.

[0023] For the embodiment in accordance with the invention illustratedin FIG. 2, couplings 215, 225 and 235 may comprise couplings to allowthe interface devices; pointing device 240, display monitor 250 andkeyboard 260, to be coupled, via switchbox 200, to, respectively,System1 210, System2 220 or SystemN 230. It is noted that N in “SystemN”is intended to indicate that, depending on the particular embodiment,more than three computing systems may be coupled with switch-box 200.These couplings 215, 225 and 235 may also comprise a coupling fortransferring information between the computing systems and switch-box200 during cut, copy and paste operations. The invention is, of course,not limited to any particular method of implementing such a coupling.However, by way of example, such a coupling may comprise a parallelinterface, a serial interface, such as a Universal Serial Bus (USB)compliant interface, or an infrared communication interface. The USBRevision 2.0 specification is well known and is available from theUniversal Serial Bus Implementers Forum, Inc., 5440 SW Westgate Dr.Suite 217, Portland, Oreg. 97221, or on the World Wide Web athttp://www.usb.org/developers/docs.html.

[0024] As was previously indicated, it may be desirable to copy, cut andpaste information in a similar fashion as the foregoing discussion withrespect to FIG. 2 between systems in physical locations where employinga switch-box, such as switchbox 200, may not be practical. In thisregard, it may be desirable to perform such information transfersbetween systems coupled with a common network, such is illustrated inFIG. 3. In this figure, various computing systems; System1 310, System2320, System3 330, System4 340 and SystemN 350, are coupled with computernetwork 300. In order to cut and/or copy and paste information betweensuch systems, a technique such as the one discussed with regard to FIG.1 would typically be employed. As was also indicated, alternativetechniques are desirable as such an approach may be time consuming andinconvenient.

[0025]FIG. 4 illustrates an embodiment of a method in accordance withthe invention that may be employed to cut/copy and paste informationbetween computers coupled with a common computer network without the useof a temporary file. In this regard, the left side of FIG. 4 illustratesan embodiment of a network cut/copy in accordance with the invention,while the right side of FIG. 4 illustrates an embodiment of a networkpaste in accordance with the invention. The invention is, of course, notlimited to these specific embodiments and alternatives may exist.

[0026] In block 400 of FIG. 4, a computing system may determine whethera network cut/copy request has been generated. Such a request may begenerated in a substantially similar fashion as was described above byemploying a substantially predetermined, substantially time-limitedkeystroke sequence, though, of course, the invention is not limited inscope in this respect. If a network cut/copy request has not beengenerated, no action would typically be taken, as in block 410, and thesystem may return to determining whether such a request has beengenerated. When a network cut/copy request is indicated by theappropriate substantially predetermined event, selected information maybe cut/copied in block 420. In block 430, a user identification(user-id), such as a network login identification (login-id) may becopied to be associated with the copied information. In block 440, thecopied information and the user-id may be stored in a networkcut-and-paste data-structure. While many alternatives exist, onetechnique for implementing such a data-structure, so the user-id wouldbe associated with the copied information, may comprise employing anarray data-structure or similar data-structure such as, for example, alinked-list. In this regard, an array data-structure may comprise atleast one user-id data-field and at least one corresponding informationdata-field. The use of such data-structures is well known. In such anembodiment, at block 440, the user-id and information would typically bestored in associated respective user-id and information data-fields insuch an array.

[0027] A user may then log on to a physically remote computing system.Such a system may determine whether a network paste request has beengenerated at block 450. If such a request has not been generated, noaction would be taken at block 460 and the system may return to waitingfor such a request. The user may then indicate that a network paste isdesired in a substantially similar fashion as has been previouslydiscussed by employing a substantially predetermined, substantiallytime-limited keystroke sequence. As a result of a network paste requestbeing generated, the physically remote computing system may, as at block470, search the network cut-and-paste data structure, searching for theuser-id and any associated information stored in such a data structure.If the user-id matches an entry in the data-structure at block 480, theinformation associated with the user-id may then be pasted, as has beenpreviously discussed. If the user-id is not found in the data-structurethe system may then return to block 400 or 450 and resume waiting,respectively, for a subsequent network cut/copy request or a networkpaste request. The invention is, of course, not limited to this specificimplementation and many alternatives may exist.

[0028] While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes andequivalents will now occur to those skilled in the art. It is,therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the true spiritof the invention.

What is claimed is:
 1. An apparatus comprising: a switch-box, whereinthe switch-box comprises a memory buffer to which information is copiedfrom a computing system selected via the switch-box from two or morecomputing systems coupled with the switch-box as a result of a firstsubstantially predetermined event.
 2. The apparatus of claim 1, whereinthe information copied from a computing system selected via theswitch-box is copied to another selected computing system of the two ormore computing systems as a result of a second substantiallypredetermined event.
 3. The apparatus of claim 2, wherein the first andsecond substantially predetermined events are substantiallypredetermined respective first and second keystroke sequences.
 4. Theapparatus of claim 3 further comprising a timer employed, at least inpart, to recognize the first and second keystroke sequences.
 5. Theapparatus of claim 1, wherein the switch-box is adapted to allow thememory buffer and a single set of interface devices to be selectivelycoupled at substantially individual times with a one of the two or morecomputing systems based, at least in part, on a user selection.
 6. Theapparatus of claim 5, wherein the single set of interface devicescomprises at least one of: a keyboard, a display monitor and a pointingdevice.
 7. The apparatus of claim 1, wherein the two or more computingsystems are coupled with the switch-box via a data transfer coupling anda set of interface device couplings.
 8. The apparatus of claim 7,wherein the data transfer coupling comprises a parallel interface. 9.The apparatus of claim 7, wherein the data transfer coupling comprises aserial interface.
 10. The apparatus of claim 9, wherein the serialinterface comprises a Universal Serial Bus (USB) interface.
 11. Theapparatus of claim 7, wherein the data transfer coupling comprises aninfrared communication interface.
 12. A method comprising: copyinginformation from one of at least two or more computing systems to anexternal buffer included in a switch-box, the switch-box beingaccessible by the two or more computing systems, the copying occurringas a result of a first substantially predetermined event.
 13. The methodof claim 12, wherein copying information to the external buffer isaccomplished by employing a standard cut-and-paste buffer of the one ofat least two or more computing systems.
 14. The method of claim 12,further comprising copying the information in the external buffer toanother computing system of the two or more computing systems as aresult of a second substantially predetermined event.
 15. The method ofclaim 14, wherein the first and second substantially predeterminedevents comprise substantially predetermined, substantially time-limitedrespective first and second keystroke sequences.
 16. The method of claim15, wherein the first and second keystroke sequences are keystrokesequences defined by respective operating systems of the one of the morecomputing systems and the another computing system of the two or morecomputing systems for accessing standard cut-and-paste buffers employedby those systems.
 17. The method of claim 12, wherein the first andsecond keystroke sequences are substantially dedicated keystrokesequences for copying information to and from the external buffer.
 18. Amethod comprising: determining that a network copy request has beengenerated; copying information from a first computing system to anetwork cut-and-paste data-structure as a result of the network copyrequest; and associating the copied information with a user-id for acurrent user in the network cut-and-paste buffer data-structure.
 19. Themethod of claim 18, further comprising determining that a network pasterequest has been generated; searching the cut-and-paste data structureas a result of the network paste request; determining that the copiedinformation associated with the user-id for the current user exists inthe cut-and-paste data structure; and as a result, pasting the copiedinformation from the cut-and-paste data-structure to a second computingsystem.
 20. The method of claim 19, wherein determining that the networkcopy request was generated comprises recognizing a first substantiallypredetermined, substantially time-limited event.
 21. The method of claim20, wherein determining that the network paste request has beengenerated comprises recognizing a second substantially predetermined,substantially time-limited event.
 22. The method of claim 21, whereinthe first and second substantially predetermined, substantiallytime-limited events comprise respective first and second keystrokesequences.
 23. The method of claim 18, wherein the cut-and-paste datastructure comprises an array with at least one array entry, wherein anarray entry includes a user-id data-field and an information data-field.24. The method of claim 23, wherein associating the user-id with thecopied information comprises copying the information to an informationdata-field for a specific one array entry and copying the user-id to acorresponding user-id data-field for the specific one array entry. 25.The method of claim 18, wherein copying information comprises employinga standard cut-and-paste buffer for an operating system of the firstcomputing system.
 26. An article comprising: a storage medium having aplurality of machine-readable instructions, wherein when theinstructions are executed by a computing system, the instructionsprovide for determining that a network copy request has been generated;copying information from a first computing system to a networkcut-and-paste data-structure as a result of the network copy request;and associating the copied information with a user-id for a current userin the network cut-and-paste buffer data-structure.
 27. The article ofclaim 26, further comprising instructions for determining that a networkrequest has been generated; searching the cut-and-paste data structureas a result of the network paste request; determining the copiedinformation associated with the user-id for the current user exists inthe cut-and-paste data structure; and as a result, pasting the copiedinformation from the cut-and-paste data-structure to a second computingsystem.
 28. The article of claim 27, wherein determining that thenetwork copy request was generated comprises recognizing a firstsubstantially predetermined, substantially time-limited event anddetermining that the network paste request was generated comprisesrecognizing a second substantially predetermined, substantiallytime-limited event.
 29. The article of claim 26, wherein thecut-and-paste data structure comprises an array including a user-iddata-field and an information-field.
 30. The article of claim 29,wherein associating the user-id with the copied information comprisescopying the user-id to a user-id data-field for a specific one arrayentry and copying the information to a corresponding informationdata-field for the specific one array entry.